home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Information / Digests / CSMP Digest / volume 3 / csmp-digest-v3-068 / doubleCR.1 < prev   
Encoding:
Text File  |  1994-12-08  |  86.2 KB  |  1,937 lines

  1. C.S.M.P. Digest             Thu, 17 Nov 94       Volume 3 : Issue 68
  2.  
  3. Today's Topics:
  4.  
  5.         How do you get the bit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                nc, therefore I am.
  6. - ---------------------------------------------------------------------
  7.  
  8. +++++++++++++++++++++++++++
  9.  
  10. >From eric.hegstrom@3do.com (Eric Hegstrom)
  11. Date: 1 Nov 1994 23:14:24 GMT
  12. Organization: 3DO Company
  13.  
  14. In article <chris-b-0111942144390001@hmu7.cs.aukuni.ac.nz>
  15. chris-b@cs.auckland.ac.nz (Chris Burns) writes:
  16.  
  17. > > At Init time I would Like to get the number of bit depths the main device
  18. > > can support and make a small Gworld for each of theses bit depths. Is there a 
  19. > > call that can tell me what the main device can support?
  20. > Yep, it's a status call to the video (screen) driver.
  21. > Look in <Video.h>. You use the cscGetMode status call. I'll have to get
  22.  
  23. Or you can do it by stepping through HasDepth with all the possible bit
  24. depths. (Dot overuse the HasDepth function because it has a small
  25. memory leak -- $2A bytes per call if I remember correctly).
  26.  
  27. for (bd=1; bd <= someBigNumber; bd *= 2 )
  28.     HasDepth( ..., bd, ...);
  29.  
  30. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  31. -=-=-
  32. This in no way represents the opinion of my employer
  33. -- or anyone at all for that matter.
  34.  
  35. Eric Hegstrom     eric.hegstrom@3do.com    -or-   theeric@aol.com    
  36.  
  37. A very bright programmer -- I'm wearing flourescent underware.
  38.  
  39. +++++++++++++++++++++++++++
  40.  
  41. >From arose@ATHENA.MIT.EDU (Alex Rosen)
  42. Date: 2 Nov 1994 21:35:25 GMT
  43. Organization: Massachusetts Institute of Technology
  44.  
  45. Use the HasDepth call, available with System Software 6.0.5 or
  46. thereabouts.  Check out Tech Note DV10.  (You can find it on
  47. ftp.apple.com).
  48.  
  49. --Alex
  50.  
  51.  
  52. ---------------------------
  53.  
  54. >From bemaa@celsiustech.se (Bengt M}nsson)
  55. Subject: MIDI programming
  56. Date: Tue, 1 Nov 1994 21:31:26 GMT
  57. Organization: CelsiusTech AB
  58.  
  59. Hi out there!
  60. Being both a hobby musician and a hobby programmer I would like to get hold
  61. of some information:
  62. a) The specification for MIDI files
  63. b) How to write applications for the Apple MIDI Manager (or do I have to go
  64.    through the troubles getting it from Apple?)
  65. c) How to write my own MIDI driver (if at all possible in Pascal)
  66. Are these issues covered in any document available via ftp?
  67.  
  68. Bengt M}nsson
  69.  
  70. +++++++++++++++++++++++++++
  71.  
  72. >From jbeeghly@u.washington.edu (Jeff Beeghly)
  73. Date: 1 Nov 1994 23:45:04 GMT
  74. Organization: University of Washington
  75.  
  76. >a) The specification for MIDI files
  77.  
  78. I can't help you out too much on this one, but I KNOW I have seen ftp 
  79. sites on the net which carry a description & breakdown of standard MIDI 
  80. file formats... I just don't know where...
  81.  
  82.  
  83. >b) How to write applications for the Apple MIDI Manager (or do I have to go
  84. >   through the troubles getting it from Apple?)
  85.  
  86. It's probably a best bet to purchase the MIDI developer guide from 
  87. Apple.  At $35, it's not TOO bad.  There is one example floating around 
  88. that might help you out... it's called QwertyTunes and is from someone at 
  89. Apple Developer Tech Support.  ftp to ftp.apple.com... it should be 
  90. somewhere there.  Other than that, I haven't seen any other examples.
  91.  
  92.  
  93. >c) How to write my own MIDI driver (if at all possible in Pascal)
  94. >Are these issues covered in any document available via ftp?
  95.  
  96.  
  97. Ummm..... I wouldn't do that....  Are you meaning you want to write 
  98. something that will replase the Apple MIDI Manager?  DON'T!!!
  99. Use the Apple MIDI Manager.  If it's not what you're looking for, check 
  100. out FREE MIDI (by Opcode, I think).  Unless you are planning on writing a 
  101. MIDI driver for your own use, and never plan on releasing any apps that 
  102. use your driver, it will be a waste of your time.
  103.  
  104.  
  105. Jeff
  106.  
  107.  
  108. ---------------------------
  109.  
  110. >From jbeeghly@u.washington.edu (Jeff Beeghly)
  111. Subject: Memory management in the Real World, part 2
  112. Date: 18 Oct 1994 16:46:56 GMT
  113. Organization: University of Washington
  114.  
  115.  
  116. I was speaking with one of my co-workers today about having to deal with
  117. handles, MoreMasters, etc... on the Mac.  I come from an ANSI-C
  118. background and am more comfortable with pointers.  I feel somewhat
  119. comfortable with handles, but there are lots of "Brick Walls" which I
  120. am encountering - like linked lists, and the fact that you need to
  121. pre-determine the maximum number of handles the app WILL EVER need at
  122. the beginning of the program.  He told me that Windows used to
  123. be like the Mac (he's a Windows programmer) in terms of memory management:
  124. everything needed to be done with handles (because the memory was being moved
  125. around) up until Windows 3.1.  In 3.1, Windows could be run in what's
  126. known as Protected Memory Mode.
  127.  
  128. In Protected Memory Mode, programmers didn't have to worry about handles
  129. - they could just use pointers.  Yes, memory is still being moved around
  130. to compact space, but in PMM, the HARDWARE is handling the memory management.
  131.  
  132. Programmers can just use pointers.  The pointer points to a location, and
  133. that location is being handled be the hardware (if I understand my friend
  134. correctly).  If the memory needs to be moved around, the hardware keeps track
  135. of everything and the programmer doesn't need to worry about it.
  136.  
  137. My friend (the Windows programmer) said that I should see if the Macs
  138. have anything like this.  Maybe not the 68000 macs but maybe the 68030 &
  139. 68040.  He said that the mac chips are really advanced and he would be
  140. surprised if they didn't have it (for a Windows programmer, he was very
  141. supportive of the Mac).
  142.  
  143. Now, I don't want to start any Windows vs Mac debates, I was just
  144. wondering if there is a Mac equivalent of Protected Memory Mode?
  145.  
  146.  
  147.  
  148. +++++++++++++++++++++++++++
  149.  
  150. >From mhl@icf.hrb.com (MARK H. LINTON)
  151. Date: 18 Oct 94 17:18:10 EST
  152. Organization: HRB Systems, Inc.
  153.  
  154. In article <381538$fsc@dartvax.dartmouth.edu>, Eric Kidd <emk@dartmouth.edu> writes:
  155. > In article <380u60$lmv@nntp1.u.washington.edu> Jeff Beeghly,
  156. > jbeeghly@u.washington.edu writes:
  157. >>I was speaking with one of my co-workers today about having to deal with
  158. >>handles, MoreMasters, etc... on the Mac.  I come from an ANSI-C
  159. >>background and am more comfortable with pointers.  I feel somewhat
  160. >>comfortable with handles, but there are lots of "Brick Walls" which I
  161. >>am encountering - like linked lists, and the fact that you need to
  162. >>pre-determine the maximum number of handles the app WILL EVER need at
  163. >>the beginning of the program.
  164. > [interesting idea re: Windows snipped]
  165. >
  166. > You don't need to worry about filling your master pointer blocks. New ones
  167. > will be automatically allocated by the Memory Manager if you declare more
  168. > handles than you had expected when you were making your MoreMasters calls.
  169. > There is a catch, however: these blocks are non-relocatable and will
  170. > fragment your heap if they are not allocated at one end or the other. To
  171. > avoid this, Mac programs try to guess a "normal maximum # of handles" at
  172. > initialization time. This is what you are dealing with, not an absolute
  173. > limit.
  174.  
  175.         Eric (and Jeff, hello again ;^),
  176.  
  177.         Maybe the mystery surrounding the Handle in the Macintosh world
  178.         is really the puzzler. Easy way around it? Use NewPtr instead of
  179.         NewHandle. If all you are trying to do is make a linked list,
  180.         there is no need to muddy the water with a Handle based
  181.         solution. Now if you are using a ToolBox call (that was designed
  182.         to run on a machine that had 128k of RAM) then you may have to
  183.         use a handle, but you are not required to use them in your own
  184.         data types.
  185.  
  186.         As far as nifty ways to control memory, you really have to get
  187.         Inside Macintosh: Memory. What are you missing if you don't?
  188.  
  189.         o Multiple heaps/heap zones
  190.         o Temporary Memory - allows you to (temporarily) access more
  191.           memory than your program is allocated
  192.         o More complete functions for assessing memory conditions:
  193.           - FreeMem/FreeMemSys
  194.           - MaxBlock/MaxBlockSys
  195.           - PurgeSpace
  196.           - StackSpace
  197.         o More complese functions for freeing memory
  198.           - CompactMem/CompactMemSys - compacts (system) heap
  199.           - PurgeMem/PurgeMemSys - purges (system) heap
  200.           - MaxMem/MaxMemSys - compacts and purges (system) heap
  201.         o Virtual Memory
  202.  
  203.         Jeff said he didn't want to start a Mac/Windows flame war, so I
  204.         won't say what I think of e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ked by
  205. the OS) and I know there's other stuff, but this would provide memory
  206. protection between tasks and give every program a heap the size of the
  207. address space; no more trying to guess partition sizes.  You'd still have
  208. to dereference handles, though...
  209. -- 
  210. Kevin Michael Vail  | "This is so cool I have to go to the bathroom!"
  211. kevin@dgs.dgsys.com |                   -- Calvin
  212.  
  213. +++++++++++++++++++++++++++
  214.  
  215. >From h+@nada.kth.se (Jon W{tte)
  216. Date: Wed, 19 Oct 1994 08:31:31 +0100
  217. Organization: Royal Institute of Something or other
  218.  
  219. In article <380u60$lmv@nntp1.u.washington.edu>,
  220. jbeeghly@u.washington.edu (Jeff Beeghly) wrote:
  221.  
  222. >comfortable with handles, but there are lots of "Brick Walls" which I
  223. >am encountering - like linked lists, and the fact that you need to
  224.  
  225. Linked lists with handles is just as easy as with pointers. 
  226. Just remember to store the HANDLE, not the de-referenced pointer.
  227.  
  228. >pre-determine the maximum number of handles the app WILL EVER need at
  229. >the beginning of the program.  He told me that Windows used to
  230.  
  231. Uh? You should make a good guess, if you're really interested 
  232. in efficiency. You can just leave it be, in which case the 
  233. system will allocate onrelocatable master pointer blocks in 
  234. your heap when needed - depending on how you code, these 
  235. allocations may or may not cause memory fragmentation. Mostly 
  236. they don't.
  237.  
  238. >In Protected Memory Mode, programmers didn't have to worry about handles
  239. >- they could just use pointers.  Yes, memory is still being moved around
  240. >to compact space, but in PMM, the HARDWARE is handling the memory management.
  241.  
  242. You can use pointers to your hearts content in the Mac as well. 
  243. Yes; there may be fragmentation, but that's the case for 
  244. Windows as well (it just masks the fact) Indeed, fragmenting VM 
  245. tables is in many cases just as bad as fragmenting "real" memory.
  246.  
  247. Windows handles are NOT the same as Mac handles; Windows memory 
  248. isn't like Mac memory at all because of their painful segmented 
  249. architecture. Just go ahead and use malloc()! For as much 
  250. memory as you want! And don't worry about pointer arithmetics; 
  251. unlike Windows 3.1, it'll always work.
  252.  
  253. Cheers,
  254.  
  255.                 / h+
  256.  
  257.  
  258.  
  259. --
  260.   Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
  261.  
  262. "I like to do very very late binding. åJust in timeπ binding."
  263.     ã Dave Feldt
  264.  
  265.  
  266. +++++++++++++++++++++++++++
  267.  
  268. >From bw16@cornell.edu (Bretton Wade)
  269. Date: Wed, 19 Oct 1994 08:35:10 -0400
  270. Organization: Cornell Program of Computer Graphics
  271.  
  272. In article <AACA89E396681EA7F8@klkmac019.nada.kth.se>, h+@nada.kth.se (Jon
  273. W{tte) wrote:
  274.  
  275. > Windows handles are NOT the same as Mac handles; Windows memory 
  276. > isn't like Mac memory at all because of their painful segmented 
  277. > architecture. Just go ahead and use malloc()! For as much 
  278. > memory as you want! And don't worry about pointer arithmetics; 
  279. > unlike Windows 3.1, it'll always work.
  280.  
  281. It's been a while since I was coding in MS Windows. Do they still have
  282. that silly global limit on the number of handles? It was ridiculously low,
  283. like 64 or something...
  284.  
  285. ______________________________________________________________
  286.    Bretton Wade (bw16@cornell.edu)
  287.    http://www.graphics.cornell.edu/~bwade/
  288. ______________________________________________________________
  289.  
  290. +++++++++++++++++++++++++++
  291.  
  292. >From nick@sw.stratus.com (Nicolas Tamburri)
  293. Date: 19 Oct 1994 14:44:59 GMT
  294. Organization: Stratus Computer, Inc.
  295.  
  296. In article <kevin-1810941810190001@vailbox.dgsys.com>, kevin@dgs.dgsys.com (Kevin Vail) writes:
  297. > However, here's a thought, and maybe this is what Apple is doing in
  298. > Copland-- wouldn't it be possible to set up the memory so that each
  299. > program had its own address space, with the system heap somehow shared?  I
  300. > don't know what you could do with low-memory globals (perhaps set them up
  301. > so each program had its own copy, or make them read-only so that writes
  302. > cause a trap so that changes to the low-memory stuff could be tracked by
  303. > the OS) and I know there's other stuff, but this would provide memory
  304. > protection between tasks and give every program a heap the size of the
  305. > address space; no more trying to guess partition sizes.
  306.  
  307. I hope this is what they are doing, since this was old technology 20
  308. years ago.
  309.  
  310. I assume that the reason it has not been done yet is because of low
  311. memory globals and compatibility with older programs.  The way other
  312. vendors have solved this problem (and related memory sharing problems,)
  313. is 4 fold:
  314.  
  315. 1. You publish a decree that says "Henceforth storing directly into
  316.    low-memory globals is considered to be a bad programming practice,
  317.    and we are providing you with this/these OS calls for modifying
  318.    those globals."
  319.  
  320. 2. If you need to set up shared memory between processes, you must use
  321.    these OS calls, i.e. don't assume that the same numeric address
  322.    actually refers to the same physical memory location.
  323.  
  324. 3. Each process on the system gets its own address space, as you state.
  325.    The low-memory addresses are set up so that reads and writes to them
  326.    actually trap to the OS, which takes apart the instruction and stuffs
  327.    the global data into the process space, (or vice-versa.)  For most
  328.    globals, this is sufficient, for some, a global can only be used by
  329.    one process at a time, and if pre-emptive multi-processing is used,
  330.    the calling process may actually block until valid data becomes
  331.    available.
  332.  
  333.    This extra processing is much less efficient than accessing globals
  334.    directly, and thus becomes the incentive to not use them.  But, it
  335.    does provide compatability for older programs that may never be
  336.    updated, even though they may run slower.
  337.  
  338. 4. Spend a bunch of time shaking out the incompatabilities, since what
  339.    I've described is greatly simplified.  (On the other hand, it's not
  340.    like I can run every program I've ever bought on my Q650, so maybe
  341.    they won't worry too much about this last part.)
  342.  
  343. Anxiously awaiting Copeland and Gershwin...
  344.  
  345.                             /nt
  346.  
  347.    
  348.  
  349. +++++++++++++++++++++++++++
  350.  
  351. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  352. Date: Wed, 19 Oct 1994 18:03:45 GMT
  353. Organization: Apple Computer
  354.  
  355. MARK H. LINTON, mhl@icf.hrb.com writes:
  356. >         Maybe the mystery surrounding the Handle in the Macintosh world
  357. >         is really the puzzler. Easy way around it? Use NewPtr instead of
  358. >         NewHandle.
  359.  
  360. Not if you're worried about performance; NewPtr is really slow. A better idea
  361. is to use the malloc/free routines in your development system's ANSI library.
  362. Generally (at least in THINK and CW) these allocate large blocks via NewPtr
  363. and then sub-allocate them, which is a lot more efficient than using the Mac
  364. memory manager straight. The drawback is that these blocks are not disposed
  365. back to the Mac heap, so you have to make sure that malloc doesn't eat up too
  366. much of your memory (you need enough free to keep the Toolbox happy.)
  367.  
  368. --Jens Alfke                           jens_alfke@powertalk.apple.com
  369.                    "A man, a plan, a yam, a can of Spam ... Bananama!"
  370.  
  371. +++++++++++++++++++++++++++
  372.  
  373. >From Lloyd Sargent <canna@bga.com>
  374. Date: 21 Oct 1994 15:04:39 GMT
  375. Organization: Canna Software Development
  376.  
  377. Re: Memory management in the Real World, part 2
  378.  
  379. Don't get me started on that "feature" of Windoze. Yes, it is true,
  380. Virginia, they do move pointers around without handles.  But it is
  381. at a cost -- you have to follow some rules about how your data is
  382. formated (i.e. you can't have words on 64K boundaries and a host of
  383. others that I soon as well forget).  It is better?  Depends on your
  384. point of view.  When coding, handles don't slow me down. They are
  385. just another data structure.  True, it slows the system down moving
  386. the handles (and their data) around, but it is just as ugly on the
  387. Windoze side.
  388.  
  389. I have to admit, that one feature of Windoze saved my butt (we had
  390. to build a 2 mb structure in order to get the speed required for
  391. a customer - if we had used Windoze handles it would have meant re-
  392. writing large chunks of s/w in a couple of days.
  393.  
  394. It really boils down to methodology. And that is about a touchy
  395. subject as religion and politics!
  396.  
  397. Cheerio,
  398.  
  399. Lloyd
  400.  
  401. - --------------------------------------------------------------------
  402. Lloyd Sargent              | "{The mice} are merely the protrusions into
  403. Canna Software Development | our dimension of vast hyper-intelligent pan-
  404. Del Valle, Texas           | dimensional beings, thw whole business with
  405. Infobahn: canna@bga.com    | cheese and squeaking is just a front"
  406. AppleLink: CANNA.SW.DEV    |            Hitchhikers Guide To The Galaxy
  407. Voice: 512.243.0283        | "nam et ipsa scientia potestas est"
  408.        512.243.3355        | {for knowledge too is itself power}
  409.  "Been there, done that."  |            Francis Bacon
  410.  
  411. +++++++++++++++++++++++++++
  412.  
  413. >From Glenn L. Austin <glenn_a@efn.org>
  414. Date: Fri, 21 Oct 1994 18:39:15 GMT
  415. Organization: Eugene FreeNet
  416.  
  417. In article <1994Oct19.180345.10342@gallant.apple.com> Jens Alfke,
  418. jens_alfke@powertalk.apple.com writes:
  419. >Not if you're worried about performance; NewPtr is really slow. A better
  420. idea
  421. >is to use the malloc/free routines in your development system's ANSI
  422. library.
  423. >Generally (at least in THINK and CW) these allocate large blocks via
  424. NewPtr
  425. >and then sub-allocate them, which is a lot more efficient than using the
  426. Mac
  427. >memory manager straight. The drawback is that these blocks are not
  428. disposed
  429. >back to the Mac heap, so you have to make sure that malloc doesn't eat
  430. up too
  431. >much of your memory (you need enough free to keep the Toolbox happy.)
  432.  
  433. DON'T USE malloc/free!!!  Although they do sub-allocate, they still call
  434. NewPtr, and if you think you'll get better performance calling something
  435. that calls NewPtr, you need to check your logic circuits.
  436.  
  437. Use NewPtr and DisposPtr, or better yet, design your own
  438. malloc/realloc/free using locked, dereferenced handles.  This way you can
  439. control your memory usage and still have the resizable objects that true
  440. pointers don't provide (there is a SetPtrSize, but that's a crash waiting
  441. to happen, since it doesn't work exactly like realloc but attempts to
  442. resize the memory block in place, while SetHandleSize is allowed to move
  443. the unlocked block of memory to satisfy the request).
  444.  
  445. The only time to use true malloc/free is under Windows, since that
  446. brain-dead operating system only allows for 8192 total global handles,
  447. and the only way to handle large amounts of data is to use the dev.
  448. environment's large model (or huge model) and let it allocate and
  449. suballocate memory for you.
  450. //
  451. // Glenn L. Austin
  452. // Computer Wizard and Racing Car Driver
  453. // Internet:  glenn_a@efn.org
  454. //
  455.  
  456. +++++++++++++++++++++++++++
  457.  
  458. >From nagle@netcom.com (John Nagle)
  459. Date: Sun, 23 Oct 1994 16:51:17 GMT
  460. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  461.  
  462. chopps@water.emich.edu (Christian E. Hopps) writes:
  463. >An MMU is not setup to handle application based resizing mostly.
  464.  
  465. >I'me not sure if you've had experiance with MMU's before or not.  However
  466. >MMU's do not map just any logical address to just any physical one (in 
  467. >most cases.)  The 680x0 MMU's and the PPC MMU's map pages (4k or 8k mostly).
  468.  
  469.      Interestingly, Intel 386 machines and up have MMUs that are designed to
  470. manage lots of segments, with sizes ranging from a few bytes to many 
  471. megabytes.  The bounds of the segment are expressed in bytes, not pages,
  472. until the segment gets really big, and then it has to be rounded up to the
  473. next chunk (512 bytes?).
  474.  
  475.      Because DOS/Windows doesn't fully use these capabilities, they aren't
  476. well known.  But the CPU architecture is almost ideal for a system with lots
  477. of little protected objects.  The PenPoint prototype used it quite
  478. successfully, before AT&T bought it and made them switch to another CPU.
  479.  
  480.                     John Nagle
  481.  
  482. +++++++++++++++++++++++++++
  483.  
  484. >From devon_hubbard@taligent.com (Devon Hubbard)
  485. Date: Tue, 18 Oct 1994 21:21:15 GMT
  486. Organization: Taligent, Inc.
  487.  
  488. In article <380u60$lmv@nntp1.u.washington.edu>, jbeeghly@u.washington.edu
  489. (Jeff Beeghly) wrote:
  490.  
  491. >Now, I don't want to start any Windows vs Mac debates, I was just
  492. >wondering if there is a Mac equivalent of Protected Memory Mode?
  493.  
  494. Not currently, no.  :-]
  495.  
  496. dEVoN
  497.  
  498. - -----------------------------------------------------------------------
  499. Devon Hubbard                                               Silicon Pilot
  500. devon_hubbard@taligent.com                                  Taligent, Inc
  501.  
  502. +++++++++++++++++++++++++++
  503.  
  504. >From lsr@taligent.com (Larry Rosenstein)
  505. Date: Wed, 19 Oct 1994 01:20:02 GMT
  506. Organization: Taligent, Inc.
  507.  
  508. In article <1994Oct18.171810.22120@hrbicf>, mhl@icf.hrb.com (MARK H.
  509. LINTON) wrote:
  510.  
  511. >         is really the puzzler. Easy way around it? Use NewPtr instead of
  512. >         NewHandle. If all you are trying to do is make a linked list,
  513.  
  514. NewPtr is very slow because it tries to place the pointer as low in the
  515. heap as possible.  You may be better doing NewHandle and immediatly
  516. locking the handle.
  517.  
  518. -- 
  519. Larry Rosenstein
  520. Taligent, Inc.
  521.  
  522. lsr@taligent.com
  523.  
  524. +++++++++++++++++++++++++++
  525.  
  526. >From Rick_Holzgrafe@taligent.com (Rick Holzgrafe)
  527. Date: Wed, 19 Oct 1994 03:21:41 GMT
  528. Organization: Semicolon Software
  529.  
  530. In article <380u60$lmv@nntp1.u.washington.edu>, jbeeghly@u.washington.edu
  531. (Jeff Beeghly) wrote:
  532.  
  533. > the fact that you need to
  534. > pre-determine the maximum number of handles the app WILL EVER need at
  535. > the beginning of the program.
  536.  
  537. Well, you don't *need* to. The Mac will allocate more master pointer
  538. blocks for you as and when needed. But you do *want* to, because master
  539. pointer blocks are themselves locked. The system will spend time trying to
  540. move unlocked handles around in order to place the master pointer block
  541. near one end of your heap, to avoid fragmentation; and if it can't manage
  542. it, then you get fragmentation anyway.
  543.  
  544. -- Rick Holzgrafe, a member of the Taligentsia
  545.    Rick_Holzgrafe@taligent.com
  546.    rmh@taligent.com
  547.  
  548. +++++++++++++++++++++++++++
  549.  
  550. >From edevinney@aol.com (EDevinney)
  551. Date: 24 Oct 1994 16:11:04 -0400
  552. Organization: America Online, Inc. (1-800-827-6364)
  553.  
  554. In article <nagleCy4xHH.KCM@netcom.com>, nagle@netcom.com (John Nagle)
  555. writes:
  556. >>>
  557.  Interestingly, Intel 386 machines and up have MMUs that are designed to
  558. manage lots of segments, with sizes ranging from a few bytes to many 
  559. megabytes.  The bounds of the segment are expressed in bytes, not pages,
  560. until the segment gets really big, and then it has to be rounded up to the
  561. next chunk (512 bytes?).
  562.  
  563.      Because DOS/Windows doesn't fully use these capabilities, they aren't
  564. well known.  But the CPU architecture is almost ideal for a system with
  565. lots
  566. of little protected objects.  The PenPoint prototype used it quite
  567. successfully, before AT&T bought it and made them switch to another CPU.
  568. <<<
  569.  
  570. The PenPoint memory manager used 4k pages throughout.  One could create
  571. new heaps for variable-sized data, and that was nice, but those also used
  572. 4k pages - you wouldn't use a heap like a handle if you gave any thought
  573. about overhead.  It would be nice to use the MMU to get a protected,
  574. never-fragmenting soup of variable-sized objects, but PenPoint didn't have
  575. it.
  576.  
  577. Regardless, PenPoint did show me that while VM is nice, it is by no means
  578. the panacea that handle-opponents often make it out to be.  Real RAM does
  579. eventually run out, and it runs out quick on small (ie commonplace)
  580. machines.  Performance takes a big hit when thrashing, and users find that
  581. unacceptable, and it can kill battery life on mobile machines.  Like
  582. handles, VM should be used with care and a full understanding of the costs
  583. involved.
  584.  
  585. regards -
  586.  
  587. ed devinney (GO & EO alumnus)
  588.  
  589.  
  590.  
  591. +++++++++++++++++++++++++++
  592.  
  593. >From Peter_Gontier@novell.com (Pete Gontier)
  594. Date: Mon, 24 Oct 1994 19:30:56 -0800
  595. Organization: Novell, Inc., Walnut Creek Macintosh Site
  596.  
  597. In article <bw16-1910940835100001@frost.graphics.cornell.edu>,
  598. bw16@cornell.edu (Bretton Wade) wrote:
  599.  
  600. >> It's been a while since I was coding in MS Windows. Do they still have
  601. > that silly global limit on the number of handles? It was ridiculously low,
  602. > like 64 or something...
  603.  
  604. 8192. Yes, ridiculously low, if you use those blocks for general managment
  605. and don't break them up internally to your program. I believe their 32-bit
  606. environments lift the restriction, though.
  607.  
  608. -- 
  609.  Views expressed here do not necessarily reflect the views of Novell.
  610.  
  611. +++++++++++++++++++++++++++
  612.  
  613. >From Peter_Gontier@novell.com (Pete Gontier)
  614. Date: Mon, 24 Oct 1994 19:34:53 -0800
  615. Organization: Novell, Inc., Walnut Creek Macintosh Site
  616.  
  617. In article <Cy1D5G.71z@efn.org>, Glenn L. Austin <glenn_a@efn.org> wrote:
  618.  
  619. > DON'T USE malloc/free!!!  Although they do sub-allocate, they still call
  620. > NewPtr, and if you think you'll get better performance calling something
  621. > that calls NewPtr, you need to check your logic circuits.
  622.  
  623. Do some benchmarking, Glenn. They really are faster. They call NewPtr only
  624. for blocks above a certain size and when a block which has been
  625. sub-allocated fills up.
  626.  
  627. -- 
  628.  Views expressed here do not necessarily reflect the views of Novell.
  629.  
  630. +++++++++++++++++++++++++++
  631.  
  632. >From tnelson@fluorite.telesciences.com (Tracy M Nelson)
  633. Date: 25 Oct 1994 17:04:19 GMT
  634. Organization: Securicor Telesciences Inc
  635.  
  636. John Nagle (nagle@netcom.com) wrote:
  637. :      Interestingly, Intel 386 machines and up have MMUs that are designed to
  638. : manage lots of segments, with sizes ranging from a few bytes to many 
  639.  
  640. Not surprising, since they copied many of the design elements of the iAPX432
  641. processor, which relied on the concept of "capabilities" (a sort of an
  642. address + access permission structure, which maps nicely into a two-register
  643. data access scheme) to manage their objects.  I don't know anything about the 
  644. specifics of the '386 MMU, but it's possible that, given a proper 
  645. object-oriented OS and development environment, the x86 architecture could be 
  646. handy after all...
  647.  
  648. --
  649. Tracy Nelson (tnelson@telesciences.com)
  650. // WARNING: May contain code which is too intense for young programmers...
  651.  
  652. +++++++++++++++++++++++++++
  653.  
  654. >From ajbarry@ozemail.com.au (Andrew Barry)
  655. Date: Thu, 27 Oct 1994 08:33:20 GMT
  656. Organization: OzEmail Pty Ltd Sydney Australia
  657.  
  658. Tracy M Nelson (tnelson@fluorite.telesciences.com) wrote:
  659. : John Nagle (nagle@netcom.com) wrote:
  660. : : Interestingly, Intel 386 machines and up have MMUs that are designed to
  661. : : manage lots of segments, with sizes ranging from a few bytes to many 
  662.  
  663. : Not surprising, since they copied many of the design elements of the 
  664. : iAPX432 processor, which relied on the concept of "capabilities" 
  665. : (a sort of an address + access permission structure, which maps
  666. : nicely into a two-register data access scheme) to manage their 
  667. : objects.  I don't know anything about the 
  668. : specifics of the '386 MMU, but it's possible that, given a proper 
  669. : object-oriented OS and development environment, the x86
  670. : architecture could be handy after all...
  671.  
  672. Hmmm...the main problem with the 386 MMU (at least as far as selectors 
  673. go), is that there are only 8192 selectors available in each of the local 
  674. and global descriptor tables. Unfortunately, this would mean a maximum of 
  675. 8192 objects per process (or in the case of Windows, 8192 handles in use 
  676. across the entire system).
  677.  
  678. Just as some further information, 386 handles have a granularity of 16 
  679. bytes, unless you want to address memory beyond 16Mb, at which point the 
  680. granularity goes up to 4k.
  681.  
  682. Also note that Microsoft is ditching the use of selectors as handles in 
  683. Chicago and NT, where they're using a flat address space.
  684.  
  685. Just a bit of input...personally I don't think the 386 architecture
  686. can be useful.
  687. Andrew
  688.  
  689. +++++++++++++++++++++++++++
  690.  
  691. >From philip@cs.wits.ac.za (Philip Machanick)
  692. Date: 28 Oct 1994 07:35:59 GMT
  693. Organization: Computer Science Dept, U of Witwatersrand
  694.  
  695. In article <Cy8oAD.Dzw@teleride.on.ca>, stevew@teleride.on.ca (Stephen M.
  696. Webb) wrote:
  697. > Virtual memory became possible only with the 68020, which was not in
  698.  
  699. Wasn't it the 68010 that added VM support? Some managed to find complex
  700. hardware workarounds, like  second processor to handle page faults.
  701.  
  702. > production at the time the Mac was released.  Handles were required to
  703. > support a pseudo-virtual memory scheme under which regions of memory
  704. > could be relocated during a system call if necessary, and without
  705. > notice, at run time.  Such a scheme does not require restartable instructions.
  706.  
  707. I don't think this is sufficient reason to introduce handles. Other
  708. systems had things like overlays (clumsy but easier to program). I think
  709. the real reason for overlays was system calls and user program were
  710. allocating sometimes short-lived data (e.g. for                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  are only for code, most times.  The CODE segment structure of
  711. the Mac's runtime environment is far superior, IMHO.  What people are
  712. talking about here is using the PMMU to move stuff around in physical
  713. memory without changing its logical addressing, transparently to the
  714. application.
  715.  
  716. Basically, the reason the Mac doesn't do this is that the MC68000 doesn't
  717. have any hardware memory-management; handles were a way to give the OS
  718. *some* way of making room for new allocations in a fragmented heap.
  719.  
  720. >The Lisa - which initially was sold with much more RAM than a Mac - had a
  721. >more sophisticated memory management scheme. Does anyone know details?
  722.  
  723. The Lisa was an amazingly advanced machine for its day.  It *did* have
  724. hardware memory management, and preemptive multitasking.  It achieved this
  725. through custom hardware to supplement the 68000 (which, as I said, didn't
  726. offer any of this functionality itself).  This is part of what made the
  727. Lisa so expensive, unfortunately; it was too much technology for the niche
  728. it needed to occupy.
  729.  
  730. - ------------------------------------------------------------------
  731. Christopher T{te           | "I never thought of surgery as 'editing
  732. fixer@faxcsl.dcrt.nih.gov  |  a person' before...."
  733. eWorld:  cTate             |        -- Mark Linton (mhl@icf.hrb.com)
  734.  
  735. +++++++++++++++++++++++++++
  736.  
  737. >From "Donald T. Major" <sasdtm@unx.sas.com>
  738. Date: Fri, 28 Oct 1994 15:11:05 GMT
  739. Organization: SAS Institute Inc.
  740.  
  741. Handles, and the Lisa memory management, etc., all came from the
  742. work achieved with Smalltalk-80. Handles are a direct descendant of
  743. the object table of Smalltalk, just implemented in a more flexible
  744. manner. Sure, in Smalltalk object references were offsets in the
  745. object table, and the only "real" pointers the system used were the
  746. result of resolving such a reference, but the basic idea was there (it
  747. may even be older than that--I honestly don't know). The really neat
  748. part about the Smalltalk model, though, was that it allowed for a very
  749. flexible virtual memory scheme, where disk I/O was even more of a
  750. major system expense than it is today. LOOM and another similar scheme,
  751. the name of which escapes me at the moment, were virtual memory systems
  752. implemented for Smalltalk, to allow moving only the minimum amount of
  753. data to and from disk as necessary. Implemented entirely in software,
  754. they could make use of ridiculously small chunks of memory (since most
  755. objects were ridiculously small) to load an object from disk, while
  756. keeping as many current system objects loaded as possible, and cutting
  757. back on the total amount of RAM lost to pad bytes. Since RAM in the
  758. original Smalltalk-80 implementation couldn't exceed 2 meg, this was
  759. a very desirable goal.
  760.  
  761. This flexibility is why handles were used in the Mac from day one (and
  762. I believe in the Lisa, though I can't swear to it)--the original Mac
  763. only had 128k of ram, of which only about 80k was available to
  764. applications; even the Finder was an application which was just run
  765. when no other applications were loaded. The virtual memory scheme was
  766. also adapted, though only for loading stuff in, not writing data back
  767. out (CODE resources, MDEFs, etc., are all based on this scheme). It's
  768. true that the original reasons for handles are gone, but that doesn't
  769. mean that their usefulness is; I personally rarely find using handles
  770. that much of a hassle, while heap fragmentation can be very irritating,
  771. and often means I need more RAM for my heap.
  772.  
  773. *Maybe* when we finally get virtual addressing I'll feel differently
  774. (note, this is NOT virtual memory), but for now, I like the Handle.
  775.  
  776. +++++++++++++++++++++++++++
  777.  
  778. >From Jonathan Gary <jgary@ssd.kodak.com>
  779. Date: Thu, 3 Nov 1994 17:55:02 GMT
  780. Organization: Eastman Kodak
  781.  
  782. > Message-ID: <Cy8oAD.Dzw@teleride.on.ca>
  783.  
  784. In article <Cy8oAD.Dzw@teleride.on.ca> Stephen M. Webb,
  785. stevew@teleride.on.ca 
  786. writes:
  787. > Virtual memory became possible only with the 68020, which was not in
  788. > production at the time the Mac was released.  
  789.  
  790. This is mostly correct, as the 68010 also supports interruptable
  791. instructions
  792. which allow mid-instruction page faults. With all the addressing modes of
  793. the
  794. 68K, a single instruction can cause a large number (I think as many as
  795. 17) page
  796. faults.
  797.  
  798. +++++++++++++++++++++++++++
  799.  
  800. >From pgontier@novell.com (Pete Gontier)
  801. Date: Mon, 07 Nov 1994 10:12:50 -0700
  802. Organization: Novell, Inc., Walnut Creek Macintosh Client Site
  803.  
  804. In article <CypDrr.1qn@newsserver.pixel.kodak.com>,
  805. Jonathan Gary <jgary@ssd.kodak.com> wrote:
  806.  
  807. > In article <Cy8oAD.Dzw@teleride.on.ca> Stephen M. Webb,
  808. > stevew@teleride.on.ca writes:
  809. >
  810. > > Virtual memory became possible only with the 68020, which was not in
  811. > > production at the time the Mac was released.  
  812. > This is mostly correct, as the 68010 also supports interruptable
  813. > instructions which allow mid-instruction page faults.
  814.  
  815. Not really. There were several UNIX systems which handled virtual memory
  816. page faults on a regular old 68000 by handing control to their *second*
  817. 68000 ...
  818.  
  819. -- 
  820.  Views expressed here do not necessarily reflect those of my employer.
  821.  
  822. +++++++++++++++++++++++++++
  823.  
  824. >From lsr@taligent.com (Larry Rosenstein)
  825. Date: Thu, 3 Nov 1994 22:11:13 GMT
  826. Organization: Taligent, Inc.
  827.  
  828. In article <philip-2810940935360001@mackerel.cs.uct.ac.za>,
  829. philip@cs.wits.ac.za (Philip Machanick) wrote:
  830.  
  831. > The Lisa - which initially was sold with much more RAM than a Mac - had a
  832. > more sophisticated memory management scheme. Does anyone know details?
  833.  
  834. The Lisa supported segmented virtual memory and protected address spaces,
  835. but it still used handles.  (BTW, I believe it had a custom MMU.)
  836.  
  837. The main reason was that data segments could not be automatically paged in
  838. and out, because the 68000 CPU didn't support restarting instructions on a
  839. fault.  (68000 machines that did support full demand paging like the early
  840. Apollos used 2 CPUs, one of which was dedicated to loading pages from the
  841. disk.) 
  842.  
  843. The Lisa did support demand paging of code segments and automatic stack
  844. expansion.  This was possible because there were a limited set of
  845. instructions used to access code segments, and the OS group figured out
  846. how to restart those instructions.  
  847.  
  848. Similarly for the stack segment, the compiler generated a TST instruction
  849. at function entry to touch the maximum stack address needed in the
  850. function.  The OS knew how to restart that instruction as well.
  851.  
  852. Handles are useful in an environment with a fixed sized data space where
  853. heap blocks of varying size are allocated and deallocated relatively
  854. frequently.
  855.  
  856. -- 
  857. Larry Rosenstein
  858. Taligent, Inc.
  859.  
  860. lsr@taligent.com
  861.  
  862. ---------------------------
  863.  
  864. >From gg110@cus.cam.ac.uk (G. Gavazzi)
  865. Subject: Q: Sound Input Device
  866. Date: 1 Nov 1994 01:36:02 GMT
  867. Organization: University of Cambridge, England
  868.  
  869. Hi everybody,
  870. I need some help, sorry for the naive question: I am using: 
  871.  
  872. Handle rate;
  873. SPBGetDeviceInfo(myInRefNum,siSampleRateAvailable,*rate);
  874.  
  875. to determine the available sampling rate of the sound device input.  Now 
  876. the Inside Mac VI tells that this function returns an Integer and a Handle 
  877. (list of sample rates of type Fixed).  I think then that *rate points to a 
  878. 4 bytes int, the next 4 bytes Fixed being allocated for the first sample 
  879. rate and so on.  Besides the fact that I do not know what kind of type is 
  880. Fixed (fixed point? not standard C certainly) I cannot get a sensible 
  881. result out of this :(
  882.  
  883.  
  884. Also my SPBRecordToFile(out_file,&myinParam,FALSE) does not fill my 
  885. out_file, I think because the sampling rate is 0.  And I cannot set the 
  886. sampling rate with SPBSetDeviceInfo() 'cause I get bad sampling rate error 
  887. (-225).  (btw: I am using the wonderful CW4 :)
  888.  
  889. Can somebody point me to some example source code (I should be able to ftp 
  890. a develop issue if necessary)?
  891.  
  892. Thank you.
  893. Giuliano Gavazzi
  894.  
  895. +++++++++++++++++++++++++++
  896.  
  897. >From chris-b@cs.auckland.ac.nz (Chris Burns)
  898. Date: Tue, 01 Nov 1994 21:33:16 +1200
  899. Organization: AucklandUniversity:ComputerScience:HMU
  900.  
  901. In article <394622$jri@lyra.csx.cam.ac.uk>, gg110@cus.cam.ac.uk (G.
  902. Gavazzi) wrote:
  903.  
  904. > to determine the available sampling rate of the sound device input.  Now 
  905. > the Inside Mac VI tells that this function returns an Integer and a Handle 
  906. > (list of sample rates of type Fixed).  I think then that *rate points to a 
  907. > 4 bytes int, the next 4 bytes Fixed being allocated for the first sample 
  908. > rate and so on.  Besides the fact that I do not know what kind of type is 
  909. > Fixed (fixed point? not standard C certainly) I cannot get a sensible 
  910. > result out of this :(
  911.  
  912. /////////////////////////////////////////////////////////////////////////
  913. // Include appropriate header files
  914.  
  915. #include <SoundInput.h>
  916. #include <FixMath.h>
  917.  
  918. /////////////////////////////////////////////////////////////////////////
  919. // Set up types to access a handle to an array of Fixed
  920.  
  921. typedef Fixed RateList[];
  922. typedef RateList **RateListHandle;
  923.  
  924. /////////////////////////////////////////////////////////////////////////
  925. // Define a structure according to IM6 22-67 'srav'
  926.  
  927. struct{
  928.     short           count;
  929.     RateListHandle  rates;
  930. }SampleRates;
  931.  
  932. /////////////////////////////////////////////////////////////////////////
  933. // Get sound input device to fill in the "SampleRates" struct
  934.  
  935.     Err = SPBGetDeviceInfo(RefNum,siSampleRateAvailable,(Ptr)&SampleRates);
  936.     FailOSErr(Err,"\p_SPBGetDeviceInfo[siSampleRateAvailable] FAILED");
  937.  
  938. /////////////////////////////////////////////////////////////////////////
  939. // For example, pick the highest sampling rate from the ones returned.
  940.  
  941. long        MaxLong;
  942. long        MaxPos;
  943. Fixed       CurFixed;
  944. long        CurLong;
  945. short       i;
  946.  
  947.  
  948.     if (SampleRates.count == 0)
  949.         SampleRate = (**SampleRates.rates)[2];
  950.     else
  951.     {
  952.         MaxLong = 0;
  953.         MaxPos = 0;
  954.  
  955.         for (i = 0;i < SampleRates.count;i++)
  956.         {
  957.             CurFixed = (**SampleRates.rates)[i];
  958.             if (BitTst((Ptr)&CurFixed,0))
  959.             {
  960.                 BitClr((Ptr)&CurFixed,0);
  961.                 CurLong = 32768 + Fix2Long(CurFixed);
  962.             }
  963.             else
  964.                 CurLong = Fix2Long(CurFixed);
  965.  
  966.             if (CurLong >= MaxLong)
  967.             {
  968.                 MaxLong = CurLong;
  969.                 MaxPos = i;
  970.             }
  971.         }
  972.         SampleRate = (**SampleRates.rates)[MaxPos];
  973.     }
  974.  
  975. /////////////////////////////////////////////////////////////////////////
  976. // Set sampling rate
  977.  
  978.     Err = SPBSetDeviceInfo(RefNum,siSampleRate,(Ptr)&SampleRate);
  979.     FailOSErr(Err,"\p_SPBGetDeviceInfo[siSampleRate] FAILED");
  980.  
  981. Chris B
  982. - ---------------------------------------------------------------------
  983. NewZealand:AucklandUniversity:ComputerScience:HyperMediaUnit:ChrisBurns
  984. Internet: chris-b@cs.auckland.ac.nz
  985. Phone:    +64 9 373-7599 x6194
  986. Fax:      +64 9 373-7453                         Async, therefore I am.
  987. - ---------------------------------------------------------------------
  988.  
  989. ---------------------------
  990.  
  991. >From Pete Gontier <gurgle@dnai.com>
  992. Subject: QC FAQ
  993. Date: 1 Nov 1994 08:01:21 GMT
  994. Organization: Pete's Proxy Posting, Ink.
  995.  
  996. This is a monthly posting. Changes this month: none.
  997. This posting is available via 'ftp':
  998.  
  999.     ftp://ftp.dnai.com/users/gurgle/QC_FAQ.txt
  1000.  
  1001. Poster has no affiliation with Onyx Technology. Please email
  1002. responses to addresses listed at the bottom of this text.
  1003.  
  1004. - --------------------- cut here -----------------------
  1005.  
  1006. QC(tm) FAQ 0794.2
  1007. =================
  1008.  
  1009. Q: So what is QC?
  1010.  
  1011. A: QC is a control panel/extension that adds the ability to stress test
  1012. applications for runtime, memory related errors. QC can be used during
  1013. development, during testing by inhouse and beta testers, and after the
  1014. product ships (although a little late if errors are detected) by end
  1015. users to evaluate the stability of a software package.
  1016.  
  1017. Q: Is there a demo available?
  1018.  
  1019. A: Yes. It is available from most online services as well as Internet
  1020. sites like sumex.
  1021.  
  1022. Q: What do I have to do to use the demo?
  1023.  
  1024. A: Put QC in your Control Panels folder and reboot your Mac. If the demo
  1025. has expired contact us at one of the online addresses listed above.
  1026.  
  1027. Q: Can I use QC to test existing applications without rebuilding them?
  1028.  
  1029. A: Yes. QC was designed to test applications without requiring any
  1030. modifications to the code. The release version of QC includes an
  1031. optional application programming interface (QCAPI) that programmers can
  1032. use to control QC testing directly from their code.
  1033.  
  1034. Q: How does QC report errors it finds?
  1035.  
  1036. A: QC reports detected errors through the use of a low level debugger.
  1037. QC uses the _DebugStr trap to cause a user break into your favorite
  1038. debugger. QC is fully compatible with MacsBug, TMON, TMON PRO, The
  1039. Debugger, SourceBug, SADE, THINK C, CodeWarrior, MPW, etc. If you turn
  1040. off debug breaks in the list of options, QC will emit a short
  1041. distinctive beep when errors are detected.
  1042.  
  1043. Q: Does QC work on a Power Macintosh?
  1044.  
  1045. A: Yes. However, two incompatible tests are disabled if you are using
  1046. the Modern Memory Manager. Those tests are 'Block Bounds Checking' and
  1047. 'Invalidate Free Memory'. The next release of QC will be a native
  1048. PowerPC application and will be available as a free upgrade to existing
  1049. users.
  1050.  
  1051. Q: How does QC compare with tools such as Even Better Bus Error and the
  1052. debugging version of the Modern Memory Manager?
  1053.  
  1054. A: EBBE is a free utility but one downfall it has is that it's either
  1055. installed or it isn't. You either get bus errors potentially caused in
  1056. all running apps or you get nothing. With QC, you can control when
  1057. testing is active and what apps might potentially crash with a bus
  1058. error. Everything is unaffected. Although early development versions
  1059. were available, we are not aware of any debugging version of the Modern
  1060. Memory Manager being made available by Apple at this time. Early
  1061. versions of MMM were much slower than QC in comprobable tests and the
  1062. MMM does not offer as many tests as QC does. There is also no easy to
  1063. use UI to activate/deactivate MMM testing on an application heap.
  1064.  
  1065. Q: What are the advantages to using QC?
  1066.  
  1067. A: QC offers tests that are not available anywhere else and it performs
  1068. many tests much faster than other testing tools. All QC's tests are
  1069. integrated into a single INIT/cdev combination. A Macintosh interface
  1070. makes QC usable right out of the box. QC's API can be used to fine tune
  1071. testing to specific areas of code (new code or suspect code, for
  1072. example). QC reports more information when an error is found.
  1073.  
  1074. Q: What do I get when I purchase QC?
  1075.  
  1076. A: The following is contained on the release disk. A fully licensed copy
  1077. of QC for single machine use and complete documentation. The QC
  1078. Application Programming Interface (QCAPI) libraries and interfaces for
  1079. those who want to control QC testing directly from their code. Full
  1080. source code to an application called BadAPPL that illustrates what QC
  1081. detects as well as how to use the QCAPI. The disk also contains some
  1082. assorted free utilities.
  1083.  
  1084. Q: How can I obtain QC?
  1085.  
  1086. A: Pricing is $99.95 for a single copy, $400 for a five pack, and $700
  1087. for a ten pack. Please add $5 shipping and handling to each order.
  1088. Credit card orders are accepted. You can contact Onyx via the email
  1089. addresses listed above or by calling 813.795.7801 or faxing
  1090. 813.795.5901. You can also send regular mail to:
  1091.  
  1092. Onyx Technology
  1093. 7811 27 Ave W
  1094. Bradenton, FL 34209
  1095.  
  1096. Our email addresses are:
  1097.  
  1098. America Online:  OnyxTech
  1099. Internet:        onyxtech@aol.com
  1100. AppleLink:       D2238
  1101. CompuServe:      70550,1377
  1102.  
  1103. QC is a trademark of Onyx Technology
  1104. Copyright (c) 1994 Onyx Technology
  1105.  
  1106. ---------------------------
  1107.  
  1108. >From cazelaig@ERE.UMontreal.CA (Cazelais Gilles)
  1109. Subject: ResEdit 2.1.3, is it good this time?
  1110. Date: Wed, 26 Oct 1994 07:26:07 GMT
  1111. Organization: Universite de Montreal
  1112.  
  1113.  
  1114. Hello folks,
  1115.               I just want to know if the recent version of ResEdit
  1116. (2.1.3) is a good version without known bugs, like the nasty one in
  1117. version 2.1.2.  Is anybody having some troubles with 2.1.3?  Any
  1118. problems with it?
  1119.  
  1120. In brief, can I trust it??  I really want to be sure before using it...
  1121.  
  1122. Thanks a lot,
  1123.  
  1124.                 Martin.
  1125.  
  1126. +++++++++++++++++++++++++++
  1127.  
  1128. >From aatrix@aol.com (Aatrix)
  1129. Date: 26 Oct 1994 08:20:01 -0400
  1130. Organization: America Online, Inc. (1-800-827-6364)
  1131.  
  1132. In article <Cy9rBK.HrJ@cc.umontreal.ca>, cazelaig@ERE.UMontreal.CA
  1133. (Cazelais Gilles) writes:
  1134.  
  1135. >               I just want to know if the recent version of ResEdit
  1136. > (2.1.3) is a good version without known bugs, like the nasty one in
  1137. > version 2.1.2.  Is anybody having some troubles with 2.1.3?  Any
  1138. problems
  1139. > with it?
  1140.  
  1141. Uh, which nasty bug?  The one that tanked a file if you copied a resource
  1142. over another that was smaller has been fixed.  Don't know about some of
  1143. the others (CNTLs in DLOGs don't display on a Quadra, for one thing).
  1144.  
  1145. a.d. jensen,
  1146. Aatrix Software, Inc.
  1147. aatrix@aol.com
  1148.   "Forty below keeps out the riff-raff." - North Dakota State Motto
  1149.  
  1150.  
  1151. +++++++++++++++++++++++++++
  1152.  
  1153. >From alain@cs.uchicago.edu (Alain Aslag Roy)
  1154. Date: Wed, 26 Oct 1994 12:57:12 GMT
  1155. Organization: Department of Computer Science, University of Chicago
  1156.  
  1157. In article <Cy9rBK.HrJ@cc.umontreal.ca> cazelaig@ERE.UMontreal.CA (Cazelais Gilles) writes:
  1158. >
  1159. >Hello folks,
  1160. >              I just want to know if the recent version of ResEdit
  1161. >(2.1.3) is a good version without known bugs, like the nasty one in
  1162. >version 2.1.2.  Is anybody having some troubles with 2.1.3?  Any
  1163. >problems with it?
  1164.  
  1165. I've had no problems with Resedit 2.1.3, and I use it a fair amount. I
  1166. did have problems with 2.1.2, so I guess they really did fix those
  1167. heinous crashes.
  1168.  
  1169. -alain
  1170.  
  1171. +++++++++++++++++++++++++++
  1172.  
  1173. >From nick+@pitt.edu ( nick.c )
  1174. Date: Wed, 26 Oct 1994 11:44:23 -0400
  1175. Organization: The Pitt, Chemistry
  1176.  
  1177. In article <Cy9rBK.HrJ@cc.umontreal.ca>, cazelaig@ERE.UMontreal.CA
  1178. (Cazelais Gilles) wrote:
  1179.  
  1180.  
  1181. >               I just want to know if the recent version of ResEdit
  1182. > (2.1.3) is a good version without known bugs, like the nasty one in
  1183. > version 2.1.2.  Is anybody having some troubles with 2.1.3?  Any
  1184. > problems with it?
  1185. > In brief, can I trust it??  I really want to be sure before using it...
  1186.  
  1187.    What the X-files slogan "Trust no one, backup frequently?" :-)
  1188.  
  1189.    I've been using 2.1.3 for a while now, and had none of the
  1190.      corruption problems that I did with 2.1.2.  I seem to remember
  1191.      a post when 2.1.3 was released claiming all reported bugs were
  1192.      dealt with, and that *seems* to be the case.
  1193.  
  1194.  
  1195.  Internet: nick+@pitt.edu            _/   _/  _/  _/_/_/   _/   _/  
  1196.    eWorld: nick                     _/_/ _/  _/  _/   _/  _/_/_/ 
  1197.       CIS: 71232,766               _/ _/_/  _/  _/       _/ _/    
  1198.      http://www.pitt.edu/~nick/   _/   _/  _/   _/_/_/  _/   _/     
  1199.                     
  1200.  
  1201. +++++++++++++++++++++++++++
  1202.  
  1203. >From ross@bnr.ca (Ross Brown)
  1204. Date: Wed, 26 Oct 1994 12:40:49 -0400
  1205. Organization: Bell-Northern Research
  1206.  
  1207. In article <Cy9rBK.HrJ@cc.umontreal.ca>, cazelaig@ERE.UMontreal.CA
  1208. (Cazelais Gilles) wrote:
  1209.  
  1210. > Hello folks,
  1211. >               I just want to know if the recent version of ResEdit
  1212. > (2.1.3) is a good version without known bugs, like the nasty one in
  1213. > version 2.1.2.  Is anybody having some troubles with 2.1.3?  Any
  1214. > problems with it?
  1215.  
  1216. The nasty 2.1.2 bugs are indeed gone.  No more file corruption.  But...
  1217.  
  1218. Try this on a Power Mac.  It doesn't seem to happen on 68K Macs - odd,
  1219. since ResEdit runs in full emulation on PPC.  I find that this happens
  1220. even with all extensions (and Modern Memory Manager) off.
  1221.  
  1222. Copy some resources into the Clipboard.  In ResEdit, open a file whose
  1223. resource fork has no resources of the types represented in the Clipboard,
  1224. then paste them in.  Close the file, and click "No" when asked if you want
  1225. to save the file.  Open the file, and you'll find that the resources
  1226. *were* added to the file, against your instructions.
  1227.  
  1228. I sincerely hope that this bug is not traceable to the emulator.
  1229.  
  1230. -- 
  1231. Ross Brown
  1232. Macintosh/UNIX Systems Integration
  1233. Bell-Northern Research Ltd.
  1234. ross@bnr.ca
  1235.  
  1236. +++++++++++++++++++++++++++
  1237.  
  1238. >From kurisuto@babel.ling.upenn.edu (Sean Crist)
  1239. Date: 26 Oct 1994 20:14:31 GMT
  1240. Organization: University of Pennsylvania, Linguistics Department
  1241.  
  1242. In article <Cy9rBK.HrJ@cc.umontreal.ca>,
  1243. Cazelais Gilles <cazelaig@ERE.UMontreal.CA> wrote:
  1244. >
  1245. >Hello folks,
  1246. >              I just want to know if the recent version of ResEdit
  1247. >(2.1.3) is a good version without known bugs, like the nasty one in
  1248. >version 2.1.2.  Is anybody having some troubles with 2.1.3?  Any
  1249. >problems with it?
  1250. >
  1251. >In brief, can I trust it??  I really want to be sure before using it...
  1252.  
  1253. There's at least one bug I've come across.  Unfortunately I didn't make
  1254. notes of the specific circumstances, but I remember that I was able to
  1255. replicate it.  It was something in the DITL editor; I think it had to do
  1256. with resizing CNTL items or something like that.
  1257.  
  1258.   \/ __ __    _\_     --Kurisuto  (kurisuto@unagi.cis.upenn.edu)
  1259.  ---  |  |    \ /     
  1260.   _| ,| ,|   -----    For a free copy of the Bill of Rights, finger
  1261.   _| ,| ,|    [_]     this account.
  1262.    |  |  |    [_]     
  1263.  
  1264.  
  1265. +++++++++++++++++++++++++++
  1266.  
  1267. >From cazelaig@ERE.UMontreal.CA (Cazelais Gilles)
  1268. Date: Wed, 26 Oct 1994 22:51:30 GMT
  1269. Organization: Universite de Montreal
  1270.  
  1271. In article <1994Oct26.125712.3989@midway.uchicago.edu> alain@cs.uchicago.edu (Alain Aslag Roy) writes:
  1272. >In article <Cy9rBK.HrJ@cc.umontreal.ca> cazelaig@ERE.UMontreal.CA (Cazelais Gilles) writes:
  1273. >>
  1274. >>Hello folks,
  1275. >>              I just want to know if the recent version of ResEdit
  1276. >>(2.1.3) is a good version without known bugs, like the nasty one in
  1277. >>version 2.1.2.  Is anybody having some troubles with 2.1.3?  Any
  1278. >>problems with it?
  1279. >
  1280. >I've had no problems with Resedit 2.1.3, and I use it a fair amount. I
  1281. >did have problems with 2.1.2, so I guess they really did fix those
  1282. >heinous crashes.
  1283. >
  1284. >-alain
  1285.  
  1286.  
  1287. So, do you think it really worth to upgrade it from 2.1.1?
  1288.  
  1289.  
  1290.  
  1291.  
  1292. +++++++++++++++++++++++++++
  1293.  
  1294. >From s.fraser@ic.ac.uk (Simon Fraser)
  1295. Date: Sat, 29 Oct 94 15:56:35 GMT
  1296. Organization: Centre for Population Biology
  1297.  
  1298. In article <38mdb7$f2m@netnews.upenn.edu> Sean Crist,
  1299. kurisuto@babel.ling.upenn.edu writes:
  1300. >There's at least one bug I've come across.  Unfortunately I didn't make
  1301. >notes of the specific circumstances, but I remember that I was able to
  1302. >replicate it.  It was something in the DITL editor; I think it had to do
  1303. >with resizing CNTL items or something like that.
  1304.  
  1305. Yes, I've had problems here. Create a new CNTL resource, open a
  1306. DLOG, make a new CNTL item, then double-click to edit it. Just
  1307. as you finish typing the ID of your new CNTL, ResEdit crashes.
  1308. I've found that saving the file _before_ opening the DLOG helps.
  1309.  
  1310. I've also found that sometimes editing resources with templates
  1311. fails to set the 'window dirty' flag (or whatever tells ResEdit
  1312. that you've made changes), so ResEdit fails to save changes
  1313. to the resource.
  1314.  
  1315. I'm sure there are one or two other things that I've forgotten....
  1316.  
  1317. Simon
  1318. __________________________________________________________________________
  1319. Simon Fraser                            NERC Centre for Population Biology
  1320. s.fraser@ic.ac.uk                         Imperial College at Silwood Park
  1321.                                              Ascot, Berkshire, SL5 7PY. UK
  1322.  
  1323. +++++++++++++++++++++++++++
  1324.  
  1325. >From peter.lewis@info.curtin.edu.au (Peter N Lewis)
  1326. Date: Mon, 31 Oct 1994 12:14:37 +0800
  1327. Organization: NCRPDA, Curtin University
  1328.  
  1329. ResEdit 2.1.3 is quite useable, but it still has bugs.  One that gets me a
  1330. lot is thast it locks up when you open the DITL editor if there is strange
  1331. things in the clipboard.  This is on a 6100, System 7.5 - it reliably
  1332. locks up every time if I copy stuff out of SimpleText and then open a
  1333. dialog window for editing in ResEdit.  So I just copy something in ResEdit
  1334. before editing dialogs.
  1335.    Peter.
  1336. -- 
  1337. Peter N Lewis <peter.lewis@info.curtin.edu.au> - Macintosh TCP fingerpainter
  1338. FTP my programs from redback.cs.uwa.edu.au:Others/PeterLewis/ or
  1339. amug.org:pub/peterlewis/ or nic.switch.ch:software/mac/peterlewis/
  1340.  
  1341. +++++++++++++++++++++++++++
  1342.  
  1343. >From Jason.Grossman@ucs.cam.ac.uk (Jason Grossman)
  1344. Date: Mon, 31 Oct 1994 15:03:50 +0000
  1345. Organization: University of Cambridge
  1346.  
  1347. Peter N Lewis wrote:
  1348.  
  1349. > ResEdit 2.1.3 is quite useable, but it still has bugs.  One that gets me a
  1350. > lot is thast it locks up when you open the DITL editor if there is strange
  1351. > things in the clipboard.  This is on a 6100, System 7.5 - it reliably
  1352. > locks up every time if I copy stuff out of SimpleText and then open a
  1353. > dialog window for editing in ResEdit.  So I just copy something in ResEdit
  1354. > before editing dialogs.
  1355. >    Peter.
  1356.  
  1357. Ah! It does this to me, too (7100, 7.1), but I'd never realised what the
  1358. conditions were, so I didn't know the work-around of copying something
  1359. before opening a DITL. I've been using the alternative work-around of
  1360. opening the DITL, getting the crash, pressing the emergency reboot button,
  1361. waiting for the machine to restart, and then opening the DITL again.
  1362.  
  1363. Jason
  1364.  
  1365. +++++++++++++++++++++++++++
  1366.  
  1367. >From alyx@apple.com (alyx)
  1368. Date: Thu, 3 Nov 1994 03:46:24 GMT
  1369. Organization: Apple Computer, Inc.
  1370.  
  1371. In article <nick+-2610941144230001@ehdup-f-11.slip.net.pitt.edu>,
  1372. nick+@pitt.edu ( nick.c ) wrote:
  1373.  
  1374. >      [...]  I seem to remember
  1375. >      a post when 2.1.3 was released claiming all reported bugs were
  1376. >      dealt with, and that *seems* to be the case.
  1377.  
  1378. ah, memories.  anyone else remember the beloved 4D Tools dialog box:
  1379.  
  1380.   "No problems found.  Everything *seems* OK."
  1381.  
  1382. quite a nasty sense of humor there...
  1383.  
  1384. alex.
  1385.  
  1386. ---------------------------
  1387.  
  1388. >From red.riders
  1389. Subject: Shareware, VISA Merchant Accounts, and YOU!
  1390. Date: Thu, 03 Nov 1994 00:27:00 -0500
  1391. Organization: DSC/Voicenet - BBS/Unix Shells/SLIP/NEWS - (215)443-7390
  1392.  
  1393. Hey homeys, here's some info I had laying around. No more bitching
  1394. about lost shareware dollars, OK?
  1395.  
  1396.  
  1397.             Increase Your Business by Taking Mastercard and Visa 
  1398.  
  1399.      
  1400. Credit card industry experts report that offering customers the ability to pay 
  1401. with Visa or Mastercard will increase a company's business between 10% 
  1402. and 50%. Whether the increase is closer to 10% or 50% depends on the type 
  1403. of business and its particular clientele. Yet there can few tasks more 
  1404. difficult for a home-based business than obtaining a merchant account. This
  1405. is because of discrimination against home-based as well as other types of 
  1406. businesses by most banks. Nevertheless, home-based businesses do manage
  1407. to be able to offer their customers the ability to use their charge cards.
  1408. There are four basic avenues for securing a merchant account.
  1409.  
  1410. I. Financial Institutions 
  1411. A. Banks
  1412.  
  1413. Even though banks as a general rule are not granting home 
  1414. businesses merchant accounts for taking Visa & Mastercard, do try 
  1415. your own bank, particularly since they know you as a customer. If 
  1416. your bank denies you a merchant account, try small independent 
  1417. banks, particularly ones that have their merchant accounts processed 
  1418. by an out-of-state bank instead of doing it themselves or using a 
  1419. larger local bank. Banks in smaller communities are more apt to work with 
  1420. home-based businesses.
  1421.  
  1422. B. Saving & Loans, Thrifts and Credit Unions
  1423.  
  1424. Most people think of banks as THE only financial institutions 
  1425. granting merchant accounts to businesses. However, savings & Loans, thrifts 
  1426. and even credit unions are increasingly offering merchant accounts. You 
  1427. may find these institutions more willing to work with you.
  1428. Remember that banks, in the words of Larry Schwartz and Pearl 
  1429. Sax founders of the National Association of Credit Car Merchants (217 N. 
  1430. Seacrest Boulevard, Box 400, Boynton Beach, Florida 33425; (407)
  1431. 737-7500), "need 
  1432. reassurance that handling your business will both safe and profitable." It
  1433. almost goes 
  1434. without saying that your presentation of your business, your financial
  1435. ability and 
  1436. yourself must make your banker feel absolute confidence in you. 
  1437.  
  1438. II. Business Organizations 
  1439. A. Trade Associations
  1440.  
  1441. Trade associations sometimes provide access to Visa and Mastercard 
  1442. accounts as a member service. Examples of organizations that may be 
  1443. helpful are the Retail Merchants Association and Direct Marketing 
  1444. Association and others specifically related to your particular industry.
  1445. To find trade associations in your field, use Gale's Encyclopedia of 
  1446. Associations, available at the reference desk in most libraries.
  1447.  
  1448. B. Local Business Organizations.
  1449.  
  1450. Chambers of Commerce and local merchant associations sometimes help 
  1451. their members secure merchant accounts through a bank affiliated with the 
  1452. Chamber or the association. These can be the least costly merchant accounts 
  1453. with discounts as low as 2% to 3% on relatively small volumes. 
  1454. III. Independent Selling Organizations
  1455.  
  1456. Perhaps the most likely way to get a merchant account is to work through a 
  1457. bank agent or independent sales organization (ISO), which is a company 
  1458. that acts as an intermediary between small businesses and banks. You will 
  1459. undoubtedly pay more using an ISO because these companies derive their 
  1460. income from fees and surcharges added to what you would normally pay if were
  1461. able to deal directly with a bank. 
  1462.  
  1463. You may be quoted these fees and charges when going through an ISO: 
  1464.  
  1465.  o Application fees ranging between $95 to $325. These may or may not be
  1466.    refundable. Usually they are not, but find out under what circumstances 
  1467.    all or part of the fee may be refundable. 
  1468.  
  1469.   o Point of sale terminal lease or purchase. ISO's typically charge from 
  1470.     $425 to $1700 for a terminal if purchased through a bank would cost 
  1471.     about $300. Leasing typically runs between $18 and $80 a month. Some 
  1472.     ISO's are offering software that can be used in place of a sales terminal, 
  1473.     priced as low as $150.
  1474.  
  1475.   o Service fees from 3.5% to 7% compared to 2% to 5% from a bank, though
  1476. one ISO  
  1477.     is quoting fees of 1.99%. This ISO has other charges that tend to make
  1478. up fo the lower 
  1479.     service fee.
  1480.  
  1481.   o Per transaction charge of $.20 to $.25
  1482.  
  1483.   o Monthly statement fee of $5.00 to $10.00
  1484.  
  1485.   o Minimum monthly fee 
  1486.  
  1487. Advice about dealing with ISO's. Fees vary considerably among ISO's, so it
  1488. pays to be a 
  1489. comparison shopper. Read the contract carefully for hidden charges and
  1490. requirements. You 
  1491. may also be required to use a check verification service provided by the
  1492. ISO for an 
  1493. additional fee. One final warning. The salespeople for ISO's may be so eager
  1494. to sign you up that they may inaccurately fill out your applications about
  1495. items that 
  1496. would not be approved if filled in accurately. The problem is that if a
  1497. falsehood is
  1498. detected later by the bank, your merchant account may be terminated and your 
  1499. name placed on a terminated merchant list that bars you from getting another 
  1500. merchant account in the future. Subject that are sometimes filled in include 
  1501. whether the salesperson has personally inspected your premises and the 
  1502. percentage mail order and telephone constitute of your sales. Be sure to 
  1503. check your filled in application for accuracy.
  1504.  
  1505. Following are independent selling organizations listed in alphabetical order 
  1506. that have told us or have been reported by members of the forum to accept 
  1507. home businesses for merchant accounts (Asterisked entries are posted in this 
  1508. file for the first time):
  1509.  
  1510. Bancard, Inc. 
  1511.     1233 Sherman Drive
  1512.     Longmont, CO 80501
  1513.     303/530-0264
  1514.     800/666-7575
  1515.  
  1516. Requires two years in business at the same address.
  1517.  
  1518. Data Capture Systems    
  1519.     231 Quincy Street
  1520.     Rapid City, SD 57701
  1521.     605/341-6461 
  1522.  
  1523. Comes to your home for an on-site interview and charges $25 to send 
  1524. an application plus a $300 application fee.
  1525.  
  1526. Electronic Bankcard Systems 
  1527.     2554 Lincoln Blvd., Suite 1088
  1528.     Marina Del Rey, CA 90291 
  1529.     213/827-5772
  1530.  
  1531. No mail order, telemarketing or spa sales
  1532.  
  1533. Gold Coast Bankcard Center 
  1534.      Ft. Lauderdale , FL
  1535.      305-492-0303
  1536.  
  1537. Affiliated with American Bankcard Center 800-777-VISA
  1538.  
  1539. Harbridge Merchant Services 
  1540.      681 Andersen Drive, 4th Floor
  1541.      Building Six
  1542.      Pittsburgh, PA 15220
  1543.      (412)937-1272
  1544.  
  1545. Under prior ownership, this company was called Peachtree. As Peachtree, it
  1546. was the subject of many complaints, but since the change in ownership, 
  1547. the reports are more positive.
  1548.  
  1549. Teleflora Creditline
  1550.      12233 West Olympic Boulevard
  1551.      Los Angeles CA 90064
  1552.      800-325-4849 or 310/526-5233.
  1553.  
  1554. Deals primarily with bulletin boards.   
  1555.  
  1556. US Merchant Services
  1557.      775 Park Avenue
  1558.      Huntington, NY 11743. 
  1559.      516 427-9700
  1560.      Fax 516 427 9746
  1561.      Thomas A. McGuire
  1562.  
  1563. IV. Options Other Than Visa and Mastercard
  1564.  
  1565. What about American Express and Discover? More people are likely to 
  1566. have a Visa or Mastercard. In early 1992 these were the market shares for
  1567. each of the 
  1568. principal cards: Visa - 46%; Mastercard - 26%; Am Express - 20%; Discover - 7%.
  1569.  
  1570. But American Express is easier to get than Visa and Mastercard. To contact 
  1571. American Express, call 800/528-5200. Discover is reportedly as difficult to 
  1572. get as Visa and Mastercard; however, the number to call is 800/347-6673.
  1573.  
  1574. +++++++++++++++++++++++++++
  1575.  
  1576. >From wgiverson@ucdavis.edu (Will Iverson)
  1577. Date: Thu, 03 Nov 1994 00:27:44 -0800
  1578. Organization: University of California, Davis
  1579.  
  1580. In article <red.riders-0311940027000001@firefly-slip.voicenet.com>,
  1581. red.riders wrote:
  1582.  
  1583. > Hey homeys, here's some info I had laying around. No more bitching
  1584. > about lost shareware dollars, OK?
  1585. >             Increase Your Business by Taking Mastercard and Visa 
  1586. <snip>
  1587.  
  1588. Thanks tremendously for the info!  Very interesting & informative!
  1589.  
  1590. -Will
  1591.  
  1592. +++++++++++++++++++++++++++
  1593.  
  1594. >From dbayly@homebase.tiac.net (David Bayly)
  1595. Date: Thu, 03 Nov 1994 10:14:50 -0500
  1596. Organization: Chez moi
  1597.  
  1598. In article <wgiverson-0311940027440001@modem68.ucdavis.edu>,
  1599. wgiverson@ucdavis.edu (Will Iverson) wrote:
  1600.  
  1601. > In article <red.riders-0311940027000001@firefly-slip.voicenet.com>,
  1602. > red.riders wrote:
  1603. > > Hey homeys, here's some info I had laying around. No more bitching
  1604. > > about lost shareware dollars, OK?
  1605. > >             Increase Your Business by Taking Mastercard and Visa 
  1606. > > 
  1607. > <snip>
  1608. > Thanks tremendously for the info!  Very interesting & informative!
  1609. > -Will
  1610.  
  1611. Theres also, netcash, which I am in the process of learning about. The way
  1612. to do that is to send mail to help@agents.com. They have merchant
  1613. accounts, Peter Lewis for one uses them.
  1614. -- 
  1615. - David Bayly       dbayly@homebase.tiac.net       
  1616. "If you keep your mind sufficiently open, people will throw a lot of rubbish into it." -William A. Orton
  1617.  
  1618. +++++++++++++++++++++++++++
  1619.  
  1620. >From kurisuto@babel.ling.upenn.edu (Sean Crist)
  1621. Date: 3 Nov 1994 21:41:46 GMT
  1622. Organization: University of Pennsylvania, Linguistics Department
  1623.  
  1624. One thing to be careful of if you're arranging this: the bank may charge
  1625. you a minimum monthly fee for this service (something like $5 or $10 a
  1626. month).  I once arranged VISA/MasterCard service of this sort for a small
  1627. charitable organization; I can't remember all the details, but I remember
  1628. that it ended up being enough of a money leech that we decided that it
  1629. wasn't worth it to continue the arrangement.
  1630.  
  1631.   \/ __ __    _\_     --Kurisuto  (kurisuto@unagi.cis.upenn.edu)
  1632.  ---  |  |    \ /     
  1633.   _| ,| ,|   -----    For a free copy of the Bill of Rights, finger
  1634.   _| ,| ,|    [_]     this account.
  1635.    |  |  |    [_]     
  1636.  
  1637. ---------------------------
  1638.  
  1639. >From nagle@netcom.com (John Nagle)
  1640. Subject: Smalltalk implementations for Mac - update needed
  1641. Date: Fri, 28 Oct 1994 06:26:27 GMT
  1642. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  1643.  
  1644.     I've been away from Smalltalk on the Mac for a while, and I need
  1645. to get up to date.  I'd appreciate answers to the following questions.
  1646.  
  1647.     1.  I know about ParcPlace and Digitalk.  Any other vendors?
  1648.     (Somebody else was in Real Soon Now status, as I recall.)
  1649.  
  1650.     2.    Did Digitalk ever do much with the Mac implementation, like
  1651.     provide a compiler or a reasonable way to generate a standalone app?
  1652.  
  1653.     3.  I need something that can respond to Table Suite AppleEvents.
  1654.     (That is, I will be writing a program that responds, but I need
  1655.     a Smalltalk with AE support.)  Suggestions?
  1656.  
  1657. Thanks.
  1658.  
  1659.                     John Nagle
  1660.  
  1661. +++++++++++++++++++++++++++
  1662.  
  1663. >From podenski@halcyon.com (Patrick Podenski)
  1664. Date: Sat, 29 Oct 1994 18:39:46 -0700
  1665. Organization: Northwest Nexus
  1666.  
  1667. In article <nagleCyDDw4.EAy@netcom.com>, nagle@netcom.com (John Nagle) wrote:
  1668.  
  1669. >     I've been away from Smalltalk on the Mac for a while, and I need
  1670. > to get up to date.  I'd appreciate answers to the following questions.
  1671. >     1.  I know about ParcPlace and Digitalk.  Any other vendors?
  1672. >         (Somebody else was in Real Soon Now status, as I recall.)
  1673. >     2.  Did Digitalk ever do much with the Mac implementation, like
  1674. >         provide a compiler or a reasonable way to generate a standalone app?
  1675.  
  1676. A new version was put out a while ago (V 2 ?), but I haven't seen it.
  1677. >     3.  I need something that can respond to Table Suite AppleEvents.
  1678. >         (That is, I will be writing a program that responds, but I need
  1679. >         a Smalltalk with AE support.)  Suggestions?
  1680.  
  1681. There is a new Smalltalk from Quasar Knowledge Systems for the Mac that is
  1682. supposed to be nice. It apparently caters to Mac specific things like you
  1683. mentioned in 3.
  1684.  
  1685. -- 
  1686. - ----------------------------------------------
  1687. Pat Podenski         |  my opinions are my own, 
  1688. podenski@halcyon.com |  as are yours yours!
  1689. - ----------------------------------------------
  1690.  
  1691. +++++++++++++++++++++++++++
  1692.  
  1693. >From jwbaxter@olympus.net (John W. Baxter)
  1694. Date: Sat, 29 Oct 1994 20:49:05 -0700
  1695. Organization: Internet for the Olympic Peninsula
  1696.  
  1697. In article <nagleCyDDw4.EAy@netcom.com>, nagle@netcom.com (John Nagle) wrote:
  1698.  
  1699. >     I've been away from Smalltalk on the Mac for a while, and I need
  1700. > to get up to date.  I'd appreciate answers to the following questions.
  1701. >     1.  I know about ParcPlace and Digitalk.  Any other vendors?
  1702. >         (Somebody else was in Real Soon Now status, as I recall.)
  1703.  
  1704. QKS (Quasar Knowledge Systems) SmalltalkAgents.  I bought that on nearly
  1705. the last day of their User group special (ended Sep 30).  I like it a
  1706. lot.  It provides pretty good coverage of special Mac things, while at the
  1707. same time being highly cross-platform in nature (doesn't matter to me (I
  1708. don't have a cross platform, only a contented Mac), does matter to some
  1709. others).  I'm still in the learning stage, but I like "STA" a lot.
  1710.  
  1711. >     2.  Did Digitalk ever do much with the Mac implementation, like
  1712. >         provide a compiler or a reasonable way to generate a standalone app?
  1713.  
  1714. They finally did...they still don't seem terribly interested in the Mac,
  1715. however.  My Smalltalk V/Mac is back on the shelf.
  1716.  
  1717. >     3.  I need something that can respond to Table Suite AppleEvents.
  1718. >         (That is, I will be writing a program that responds, but I need
  1719. >         a Smalltalk with AE support.)  Suggestions?
  1720.  
  1721. I *think* you could arrange this either either Smalltalk V/Mac or
  1722. SmalltalkAgents.  I think it would be less work with SmalltalkAgents.
  1723.  
  1724. --John
  1725.  
  1726. -- 
  1727. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  1728.    Sorry...clever signatures require cleverness, not found here.
  1729.    jwbaxter@pt.olympus.net
  1730.  
  1731. +++++++++++++++++++++++++++
  1732.  
  1733. >From vollrath@vax.oxford.ac.uk (Alun ap Rhisiart)
  1734. Date: 30 Oct 94 17:02:30 GMT
  1735. Organization: Oxford University VAX 6620
  1736.  
  1737. In article <nagleCyDDw4.EAy@netcom.com>, nagle@netcom.com (John Nagle) writes:
  1738. >     I've been away from Smalltalk on the Mac for a while, and I need
  1739. > to get up to date.  I'd appreciate answers to the following questions.
  1740. >     1.  I know about ParcPlace and Digitalk.  Any other vendors?
  1741. >     (Somebody else was in Real Soon Now status, as I recall.)
  1742. Those two plus QKS SmalltalkAgents. I don't think Smalltalk/X is on the Mac yet
  1743. (and neither is IBM's VisualAge, as you might have guessed).
  1744. >     2.    Did Digitalk ever do much with the Mac implementation, like
  1745. >     provide a compiler or a reasonable way to generate a standalone app?
  1746. Not really. You had v1.2 didn't you, John? When the released v2 I was looking
  1747. forward to something better than that old cloner, but no, it was exactly the
  1748. same.  They did do a lot to v2.0 (like system 7 support - including AE - and an
  1749. even-driven interface, block-based exceptions, stuff like that). Unfortunately,
  1750. the changes meant that the old tools, like Widgets (a al windowbuilder),
  1751. Profile/V, and so on, no longer worked. We are _still waiting_ for an update
  1752. for widgets to give us a GUI builder! Compatibility with other platforms is
  1753. said to be 'improved', but evidently not much or windowbuilder would have been
  1754. ported a year ago.  It is also no faster, by the way, and Digitalk are not more
  1755. responsive (except, I gather, through Compu$erve - although they are on this
  1756. group more often now, which is something).
  1757. >     3.  I need something that can respond to Table Suite AppleEvents.
  1758. >     (That is, I will be writing a program that responds, but I need
  1759. >     a Smalltalk with AE support.)  Suggestions?
  1760. STA is the way to go for this kind of stuff (and a lot else). The main
  1761. criticisms of it at the moment would be: on Mac only (but other platforms on
  1762. the way); no equivalent of Envy for version control and config management (but
  1763. home grown solution due in v2); changes management is pretty poor (less
  1764. reliable and convenient than even St/Vs change log), but again is being worked
  1765. on.
  1766. Main strengths are: speed; very easy access to C (especially), pascal, fortran,
  1767. etc functions; saving objects to file or sending over network is very nicely
  1768. done, and *tons* faster than the V solution); multithreaded; very easy and
  1769. quick way to make standalones. My St/V is on the shelf too. The problem is that
  1770. after using STA for a while you forget how far beyond the others it has gone,
  1771. and it becomes easy to under-sell it.
  1772. > Thanks.
  1773. >                     John Nagle
  1774. -- 
  1775.  Alun ap Rhisiart  
  1776.  Animal Behaviour Research Group
  1777.  Oxford University              
  1778.  vollrath@vax.ox.ac.uk           
  1779. (also not a paid endorsement. Not that I object to being paid, you understand!)
  1780.  
  1781. +++++++++++++++++++++++++++
  1782.  
  1783. >From gburian@epaus.island.net (Geoff Burian)
  1784. Date: 30 Oct 1994 15:01:47 -0800
  1785. Organization: Island Internet Inc - (604) 753-2383
  1786.  
  1787. In article <nagleCyDDw4.EAy@netcom.com>, John Nagle <nagle@netcom.com> wrote:
  1788. >    I've been away from Smalltalk on the Mac for a while, and I need
  1789. >to get up to date.  I'd appreciate answers to the following questions.
  1790. >
  1791. >    1.  I know about ParcPlace and Digitalk.  Any other vendors?
  1792. >    (Somebody else was in Real Soon Now status, as I recall.)
  1793.  
  1794. Check out SmalltalkAgents from Quasar Knowledge Systems.  The info
  1795. they sent me was very impressive.  There's a good article in the 
  1796. April '94 edition of MacTech.  SmalltalkAgents is a superset of standard
  1797. Smalltalk, but it seems to have good access to Toolbox calls and
  1798. external (i.e., C, Pascal) code routines.
  1799.  
  1800. QKS - 1-800-296-1339, info@qks.com
  1801.  
  1802. Geof Burian
  1803. gburian@island.net
  1804.  
  1805. +++++++++++++++++++++++++++
  1806.  
  1807. >From kiisaka@is.morgan.com (Ken Iisaka)
  1808. Date: Wed, 2 Nov 1994 23:00:26 GMT
  1809. Organization: Or Lack Thereof
  1810.  
  1811. In article <3918ks$a5l@epaus.island.net>, gburian@epaus.island.net (Geoff Burian) writes:
  1812. |> In article <nagleCyDDw4.EAy@netcom.com>, John Nagle <nagle@netcom.com> wrote:
  1813. |> >    I've been away from Smalltalk on the Mac for a while, and I need
  1814. |> >to get up to date.  I'd appreciate answers to the following questions.
  1815. |> >
  1816. |> >    1.  I know about ParcPlace and Digitalk.  Any other vendors?
  1817. |> >    (Somebody else was in Real Soon Now status, as I recall.)
  1818. |> 
  1819. |> Check out SmalltalkAgents from Quasar Knowledge Systems.  The info
  1820. |> they sent me was very impressive.  There's a good article in the 
  1821. |> April '94 edition of MacTech.  SmalltalkAgents is a superset of standard
  1822.                                                                    ^^^^^^^^
  1823. |> Smalltalk, but it seems to have good access to Toolbox calls and
  1824.  
  1825. What standard Smalltalk?  The ANSI ST?  PPS?  Digitalk?  There is no
  1826. standard that I know of that has been implemented. 
  1827.  
  1828. -- 
  1829. |  ###    ###  |  ###   ###   ###  |  ###    ###  |  ###   ###   ###  |
  1830. |  ###    ###  |  ###   ###   ###  |  ###    ###  |  ###   ###   ###  |
  1831. |  ###    ###  |  ###   ###   ###  |  ###    ###  |  ###   ###   ###  |
  1832. |  ###    ###  |  ###   ###   ###  |  ###    ###  |  ###   ###   ###  |
  1833. |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
  1834. |  Ken Iisaka  |  (kiisaka@morgan.com)  |  Morgan Stanley & Co. Inc   |
  1835. |  1 Pierrepont Plz, Brooklyn, NY 11201 |   All disclaimers apply.    |
  1836. |____|____|____|____|____|____|____|____|____|____|____|____|____|____|___
  1837. "Smalltalk Goes Object Oriented" - INFORMATIONWEEK, August 8, 1994, pg. 58
  1838.  
  1839. ---------------------------
  1840.  
  1841. >From gpointer@guest.adelaide.edu.au (Geoff Pointer)
  1842. Subject: What is MIDI Manager etc (reply)
  1843. Date: 1 Nov 1994 00:26:05 GMT
  1844. Organization: PatchUp
  1845.  
  1846. There's nothing wrong with writing your own MIDI driver unless
  1847. you don't have to (for kicks??). The whole point of an *idea*
  1848. like MIDI Manager is to provide programmers with a consistent
  1849. interface to work with that fits in with the multiprogramming
  1850. environment. The problem seems to be that for obscure business
  1851. reasons Apple has remained light on the provision and support
  1852. of MIDI facilities. Having a MIDI Manager is just like having
  1853. a File Manager or a Dialog Manager, ie, built in support.
  1854.    Unfortunately few *big* software companies are behind its
  1855. use because its been a long time coming of age and hasn't yet.
  1856. I personally would rather not have to write my own MIDI Driver
  1857. so I intend to pursue development with the MIDI manager. The
  1858. problem with music programs in a multiprogramming environment
  1859. is the use of the serial port, if you have several MIDI programs
  1860. running at once for different purposes they argue about who's
  1861. going to get the port and you often end up having to reboot.
  1862. To avoid this you use them independently which is anathema
  1863. to modern operating systems.
  1864.    The beauty of the MIDI Manager is the way it arbitrates the
  1865. use of the serial port. Now, someone here mentioned that there
  1866. are programs that let you do both - use the port directly or use
  1867. it via the MIDI Manager. Cubase is supposedly one of these -
  1868. HAH!!, as soon as you play back a piece in Cubase, via MM, any
  1869. program that uses MM solely gets nowhere. You have to open
  1870. PatchBay and turn off the port and turn it back on again every
  1871. time.
  1872.    I am still having difficulty with discovering which way to
  1873. go from this point of view as I believe the idea of being able
  1874. to have several MIDI tools open at once working in harmony is
  1875. one of the most important aspects of MIDI programming today.
  1876. Phew, there, I said it.
  1877.  
  1878. - --------- Cheers - Geoff %^> ----------
  1879.  
  1880. What???..... No signature!!??.... OK, I give in:
  1881.  
  1882. "I'm not afraid of dying. ...
  1883.    I just don't want to be there when it happens."  Woody Allen.
  1884.  
  1885. - ---------------------------------------
  1886.  
  1887.  
  1888. +++++++++++++++++++++++++++
  1889.  
  1890. >From magma@cray-ymp.acm.stuorg.vt.edu (Christian Fowler)
  1891. Date: 2 Nov 1994 17:57:19 GMT
  1892. Organization: ACM Student Machine
  1893.  
  1894.  
  1895. You can get the OMS (open Midi System) Development kit from Opcode for
  1896. about $15.00. Several big name apps use it like Vision/StudiVision/Galaxy
  1897. (of course) as well as Deck, SampleCell II Editor, and maybe the newest
  1898. Cubase, but I'm not sure on that one. Anyway, OMS is very nice.
  1899.  
  1900. --
  1901.   +-+
  1902. +-+|+-+ Christian Fowler | shape
  1903. +-+|+-+ magma@acm.vt.edu | FACTOR moMeNt
  1904.   +-+
  1905.  
  1906.  
  1907.  
  1908. ---------------------------
  1909.  
  1910. End of C.S.M.P. Digest
  1911. **********************
  1912.  
  1913.  
  1914. ˇ